import request from '@/utils/request'
const baseUrl = '/cz-rentbox/api/v1/packingLists' // 租箱服务--订单管理
// import { orderBoxQty } from '@/api/orderManage/packing'

// 货代查询提箱单状态
export const agentStatusCount = (data: any) => { 
  return request({
    url: baseUrl+'/agentStatusCount',
    method: 'POST',
    data: data
  })
}
// 箱东查询提箱单状态
export const boxEastStatusCount = (data: any) => { 
  return request({
    url: baseUrl+'/boxEastStatusCount',
    method: 'POST',
    data: data
  })
}

/*货代 查询提箱单分页列表
* @param {String} packingNo 提箱单号
* @param {Long} carryCityId 提箱城市Id
* @param {Long} returnCityId 还箱城市Id
* @param {String} beginCreateTime endCreateDate 下单日期
* @param {String} beginPlanPickupDate  endPlanPickupDate 预计提箱日期 
* @param {Integer} status 订单状态 / 5-已下单|待开提箱单 10-待提未付|待提未收 15-已提未付|已提未收 20-待还未付|待还未收 25-待还已付|待还已收 30-已完成 35-已取消
*/
export const getTable = (data: any) => { 
  return request({
    url: baseUrl+'/page',
    method: 'post',
    data: data
    // data:{
    // "packingNo":"ZLOID2024062041957343",
    // "pageNum": 1,
    // "pageSize": 10
    //  }
  })
}


/*集装箱公司 查询提箱单分页列表
* @param {String} packingNo 提箱单号
* @param {Long} yardIdName 堆场名称
* @param {Long} boxCondition 提箱标准 5-全新   10-次新  15-适货  20-混提 
* @param {Integer} status 提箱单状态  5-已发放 10-已下载 15-提箱中 20-已完成
*/
export const getBoxEastTable = (data: any) => { 
  return request({
    url: baseUrl+'/boxEastPage',
    method: 'post',
    data: data
    // data:{
    // "packingNo":"PLID2024062041957343",
    // "pageNum": 1,
    // "pageSize": 10
    // }
  })
}
//订单详情内提箱单
export const callbackBoxList = (id) => { 
  return request({
    url: baseUrl+'/'+id+'/callbackBoxList',
    method: 'get',
  })
}
//订单详情下载提箱单
export const callbackBoxFileList = (id) => { 
  return request({
    url: baseUrl+'/'+id+'/callbackBoxFileList',
    method: 'get',
  })
}
/*根据id查询提箱单详情
* @param {int} id 提箱单号
*/
export const getPackingData = (id: any) => { 
  return request({
    url: baseUrl+'/'+id,
    method: 'get',  
  })
}
/*过期重开
* @param {int} id 提箱单号
*/
export const getExpiredReopen = (data) => { 
  return request({
    url: baseUrl+'/expiredReopen',
    method: 'PUT', 
    data: data
  })
}
/*
格局id 查询租箱订单的 提箱单
*/
export const rentBoxList = (id: string) => { 
  return request({
    url: baseUrl+'/'+id+'/rentBoxList',
    method: 'get',  
  })
}

/*新增提箱单
* 输入参数:
    "orderType":5, //订单类型(5-租箱 10-回调)
    # boxType:箱型
    # boxCondition:箱况
    # orderList:订单List
    # instructionNum:放箱指令号
    # packingValidityPeriodStart:提箱单有效期开始时间
    # packingValidityPeriodEnd:提箱单有效期结束时间
    # boxEastYardId:集装箱公司我的堆场Id
    # 以上字段必填
    # containerNoList:集装箱箱号List
    # packingFileList:提箱单附件信息List
    # remark:备注
# 输出model:
    # 1803633694563580226  主键Id
*/
export const addPacking = (data: any) => { 
  return request({
    url: baseUrl,
    method: 'POST',
    data: data
    // data:{
    // "orderType":5,
    // "boxType":5,
    // "boxCondition":5,
    // "orderList":"[{\"orderId\":1,\"orderNo\":\"2222\"}]",
    // "instructionNum":"AASSDF1234567",
    // "packingValidityPeriodStart":"2024-06-17T10:44:57",
    // "packingValidityPeriodEnd":"2024-06-17T10:44:57",
    // "boxEastYardId":"112345608765432345",
    // "containerNoList":"[{\"containerId\":1,\"containerNo\":\"2222\"}]"
    // }
    
  })
}

/*完成提箱单
*@param {int} 主键Id
*/
export const finishPacking = (id: any) => { 
  return request({
    url: baseUrl+'/'+id+'/finish',
    method: 'PUT',
    // data: data
    // data:{
    // "packingNo":"ZLOID2024062041957343",
    // "pageNum": 1,
    // "pageSize": 10
    //  }
  })
}

/*作废提箱单
## PUT  {{baseUrl}}/packingLists/cancelled
[1,2,3]
*/
export const cancelledPacking = (data: any) => { 
  return request({
    url: baseUrl+'/cancelled',
    method: 'PUT',
    data: data
  })
}
/*上传提箱单附件
## PUT  {{baseUrl}}/packingLists/cancelled
[1,2,3]
*/
export const updatePackingInfoPdfFile = (data: any) => { 
  return request({
    url: baseUrl+'/updatePackingInfoPdfFile',
    method: 'PUT',
    data: data
  })
}

/*下载提箱单(未实现)
* @param {int} 主键Id
*/
export const downloadPacking = (id: any) => {
  return request({
    url: baseUrl+'/'+id+'/download',
    method: 'get'
  })
}

/* 
# 根据提箱单id查询订单箱量
# GET {{baseUrl}}/packingLists/{id}/orderBoxQty
* GET {{baseUrl}}/packingLists/1803633694563580226/orderBoxQty
*/
export const orderBoxQty = (id: any) => {
  return request({
    url: baseUrl+'/'+id+'/orderBoxQty',
    method: 'GET'
  })
}




// ### PackingListBean 字段说明
// # private Long id;
//     # /**
//     #  * 提箱单号
//     #  */
//     # private String packingNo;

//     # /**
//     #  * 集装箱公司Id
//     #  */
//     # private Long companyId;

//     # /**
//     #  * 集装箱公司名称
//     #  */
//     # private String companyName;

//     # /**
//     #  * 租赁集装箱货代公司Id
//     #  */
//     # private Long agentId;

//     # /**
//     #  * 租赁集装箱货代公司名称
//     #  */
//     # private String agentName;

//     # /**
//     #  * 租箱订单列表 json
//     #  */
//     # private String orderList;

//     # /**
//     #  * 集装箱箱型：5 - 40HQ   10 - 40GP  15 - 20HQ   20 - 20GP
//     #  */
//     # private Integer boxType;

//     # /**
//     #  * 集装箱箱况：5-全新   10-次新  15-适货  20-混提
//     #  */
//     # private Integer boxCondition;


//     # /**
//     #  * 放箱指令号
//     #  */
//     # private String instructionNum;

//     # /**
//     #  * 提箱单状态:  5-已发放 10-已下载 15-提箱中 20-已完成
//     #  */
//     # private Integer status;

//     # /**
//     #  * 提箱单有效期开始时间
//     #  */
//     # private LocalDateTime packingValidityPeriodStart;

//     # /**
//     #  * 提箱单有效期结束时间
//     #  */
//     # private LocalDateTime packingValidityPeriodEnd;

//     # /**
//     #  * 剩余提箱天数
//     #  */
//     # private Integer residuePackingDays;

//     # /**
//     #  * 提箱单附件信息List
//     #  */
//     # private String packingFileList;

//     # /**
//     #  * 集装箱公司我的堆场Id
//     #  */
//     # private Long boxEastYardId;

//     # /**
//     #  * 堆场Id
//     #  */
//     # private Long yardId;

//     # /**
//     #  * 堆场名称
//     #  */
//     # private String yardName;

//     # /**
//     #  * 堆场地址
//     #  */
//     # private String yardAddress;

//     # /**
//     #  * 堆场联系人
//     #  */
//     # private String yardContact;

//     # /**
//     #  * 堆场联系电话
//     #  */
//     # private String yardTel;

//     # /**
//     #  * 堆场作业时间
//     #  */
//     # private String yardWorkTime;

//     # /**
//     #  * 集装箱箱号多个 指定的集装箱箱号
//     #  */
//     # private String containerNoList;

//     # /**
//     #  * 提箱单箱子总数量
//     #  */
//     # private Integer totalQuantity;

//     # /**
//     #  * 已提箱子数量
//     #  */
//     # private Integer packedQuantity;

//     # /**
//     #  * 提箱单箱子分配数量(预配库存数量)
//     #  */
//     # private String allocationInventoryList;

//     # /**
//     #  * 提箱城市Id
//     #  */
//     # private Long carryCityId;

//     # /**
//     #  * 提箱城市名称
//     #  */
//     # private String carryCityName;

//     # /**
//     #  * 提箱国家Id
//     #  */
//     # private Long carryCountryId;

//     # /**
//     #  * 提箱国家名称
//     #  */
//     # private String carryCountryName;

//     # /**
//     #  * 还箱城市Id
//     #  */
//     # private Long returnCityId;

//     # /**
//     #  * 还箱城市名称
//     #  */
//     # private String returnCityName;

//     # /**
//     #  * 还箱国家Id
//     #  */
//     # private Long returnCountryId;

//     # /**
//     #  * 还箱国家名称
//     #  */
//     # private String returnCountryName;

//     # /**
//     #  * 备注
//     #  */
//     # private String remark;

// ###
